import axios from "axios";
//对axios进行二次封装
import {createBrowserHistory} from 'history'
var history=createBrowserHistory();
//设置请求拦截器
axios.interceptors.request.use((config)=>{

    //携带token
    config.headers['Authorization']='Bearer '+localStorage.getItem('token');

    return config
},(error)=>{
    return Promise.reject(error);

})

//设置响应拦截器
axios.interceptors.response.use((res)=>{
    return res
},(error)=>{
    //处理响应错误
    if(error.response.status===401){
        alert("身份认证失败,重新登陆")
        localStorage.removeItem('token')
        //删除token
        history.push('/login')
        //跳转到登陆页,重新登陆
        history.go()

    }else if(error.response.status===404){
        alert("访问路径有误")
    }else if(error.response.status===500){
        alert("服务器内部错误")
    }
    return Promise.reject(error)
})

export default axios;